t = int(input())
for _ in range(t):
n = int(input())
myset = set()
input_string = input()
parts = input_string.split()
a = [int(part) for part in parts]
for i in range(n):
myset.add(i)
ans = []
for i in range(n-1,0,-1):
dct = {}
value = -1
for j in myset:
if (a[j]%i) in dct:
ans.append((dct[a[j]%i] + 1, j +1))
value = j
break
else:
dct[a[j]%i] = j
myset.remove(value)
ans.reverse()
print("YES")
for item in ans:
print(str(item[0]) + " " + str(item[1]))
318. Maximum Product of Word Lengths | 448. Find All Numbers Disappeared in an Array |
1155. Number of Dice Rolls With Target Sum | 415. Add Strings |
22. Generate Parentheses | 13. Roman to Integer |
2. Add Two Numbers | 515. Find Largest Value in Each Tree Row |
345. Reverse Vowels of a String | 628. Maximum Product of Three Numbers |
1526A - Mean Inequality | 1526B - I Hate 1111 |
1881. Maximum Value after Insertion | 237. Delete Node in a Linked List |
27. Remove Element | 39. Combination Sum |
378. Kth Smallest Element in a Sorted Matrix | 162. Find Peak Element |
1529A - Eshag Loves Big Arrays | 19. Remove Nth Node From End of List |
925. Long Pressed Name | 1051. Height Checker |
695. Max Area of Island | 402. Remove K Digits |
97. Interleaving String | 543. Diameter of Binary Tree |
124. Binary Tree Maximum Path Sum | 1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts |
501A - Contest | 160A- Twins |